package com.baofu.paycore.manager.model.withdraw;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Date;

/**
 * 提现资金单BO对象
 *
 * User: xin deng  Date: 16/6/3 ProjectName: paycore Version: 1.0
 */
@Setter
@Getter
@ToString
public class WithdrawFundBO implements Comparable<WithdrawFundBO>{

    /**
     * 支付单号
     */
    private String payNo;

    /**
     * 资金单NO
     */
    private String fundDetailNo;

    /**
     * 支付工具类型
     */
    private String payToolType;

    /**
     * 支付工具子类型
     */
    private String payToolSubType;

    /**
     * 货币
     */
    private String ccy;

    /**
     * 金额
     */
    private long amt;

    /**
     * 账户号
     */
    private String accountNo;

    /**
     * 状态
     */
    private String status;

    /**
     * 资金渠道
     */
    private String fundChannel;

    /**
     * 资金渠道细类
     */
    private String fundSubChannel;

    /**
     * 对方处理时间
     */
    private Date transDate;

    /**
     * 错误码
     */
    private String errorCode;

    /**
     * 错误原因
     */
    private String errorReason;

    /**
     * 账务事件码
     */
    private String eventNo;

    /**
     * 对方凭证号
     */
    private String transReceiptNo;

    /**
     * 协议组成编号
     */
    private String agreeRelId;

    /**
     * 绑卡协议号
     */
    private String agreementNo;

    /**
     * 资金单类型
     */
    private String fundType;

    /**
     * 请求账务金额
     */
    private long reqAccAmt;

    /**
     * 业务手续费账户
     */
    private String bizFeeAccount;

    /**
     * 冻结码
     */
    private String freezeCode;

    /**
     * 解冻流水号
     */
    private String unfreezeNo;

    /**
     * 排序
     */
    private int sort;

    @Override
    public int compareTo(WithdrawFundBO o) {

        if(this.sort < o.getSort()){
            return -1;
        }
        if(this.sort > o.getSort()){
            return 1;
        }
        return 0;

    }
}
